Dynamite: Alloy Analyzer+PVS in the Analysis and Verification of Alloy Specifications
نویسندگان
چکیده
This article contains two main contributions. On the theoretical side, it presents a novel complete calculus for Alloy. On the applied side we present DYNAMITE, a tool that combines the semi-automatic theorem prover PVS with the Alloy Analyzer. DYNAMITE allows one to prove Alloy assertion from Alloy specifications, while using the Alloy Analyzer for the automated analysis of hypotheses introduced during the proof process. As a means to assess the usability of the tool, we present a complex case-study based on Zave’s model of addressing for interoperating networks.
منابع مشابه
Alloy Analyzer+PVS in the Analysis and Verification of Alloy Specifications
This article contains two main contributions. On the theoretical side, it presents a novel complete proof calculus for Alloy. On the applied side we present Dynamite, a tool that combines the semiautomatic theorem prover PVS with the Alloy Analyzer. Dynamite allows one to prove an Alloy assertion from an Alloy specification using PVS, while using the Alloy Analyzer for the automated analysis of...
متن کاملMonotonicity Analysis Can Speed Up Verification
We introduce a strategy for the verification of relational specifications based on the analysis of monotonicity of variables within formulas. By comparing with the Alloy Analyzer, we show that for a relevant class of problems this technique outperforms analysis of the same problems using SAT-solvers, while consuming a fraction of the memory SAT-solvers require.
متن کاملApplications and extensions of Alloy: past, present and future
Alloy is a declarative language for lightweight modelling and analysis of software. The core of the language is based on first-order relational logic, which offers an attractive balance between analysability and expressiveness. The logic is expressive enough to capture the intricacies of real systems, but is also simple enough to support fully automated analysis with the Alloy Analyzer. The Ana...
متن کاملA Proof Assistant for Alloy Specifications
Alloy is a specification language based on a relational firstorder logic with built-in operators for transitive closure, set cardinality, and integer arithmetic. The Alloy Analyzer checks Alloy specifications automatically with respect to bounded domains. Thus, while suitable for finding counterexamples, it cannot, in general, provide correctness proofs. This paper presents Kelloy, a tool for v...
متن کاملHeteroGenius: A Framework for Hybrid Analysis of Heterogeneous Software Specifications
ing external engines It is well known that service abstraction is a very useful tactic to accomplish modifiability. We use it also to prevent our design to be tied to specific external analysis engines, introducing some components that abstract services offered by that external software. We established three main families: sequent calculators, counter example finders, and ρ translators. Each fa...
متن کامل